Amazon SQSの新機能:一括送信、遅延キュー/メッセージ
Amazon SQSの新機能
Amazon SQSは分散キューイングサービスとして提供されています。先日、AWS Manamegement Consoleに対応したばかりですが、本日、新機能がリリースされました。バッチ処理機能は、同時に10メッセージまで送信(SendMessageBatch)または削除(DeleteMessageBatch)することができます。Amazon SQSは、リクエスト数に応じて課金されますので、工夫をすれば最大で1/10のコストになります。
遅延キューは、キューにメッセージが追加されてから見えるまでの時間を設定することができます。120と設定すればキューにメッセージを送ってから2分後に見えるようになります。同じく、遅延メッセージは、個別のメッセージを送る際に、遅延秒数を設定することができます。遅延キューと遅延メッセージが両方設定されている場合には、遅延メッセージが優先されます。
一通りの流れをAWS Managemanet Consoleを使ってご紹介します。
最初の画面
最初の画面です。キューを作成するリージョン(地域)を指定します。
キューの作成
新規にキューを作成します。
作成したキューを選択すると設定情報が見れます。
メッセージの送信
メッセージの内容を記述します。
メッセージを送信すると、IDなどの確認情報が表示されます。
状況の確認
再度キューの状態を確認すると、遅延メッセージ(Messages Delayed)が1件あることが分かります。
遅延時間を過ぎて再度キューの状態を確認すると、遅延メッセージが減って、利用可能メッセージ(Messages Available(Visible))の件数が1件になっています。
リアルタイムに状態を確認する
あるキューの中にあるメッセージを一覧して、状態をリアルタイムに確認できます。キューに届いたメッセージを即時確認することができます。ロングポーリングの手法を使っているのかな。
メッセージを削除する
メッセージ一覧の画面から削除することができます。
まとめ
今回はAmazon SQSの新機能とAWS Management Consoleの使い方をご紹介しました。コンソールからキューの一覧・追加・削除ができるので、運用中のシステムの状況が分かって良いですね。分散型のシステムでは非同期処理が肝になります。Amazon SQSは非同期にサービスを繋ぐためのプラットフォームとして今後ますます重要になってくると思います。Amazon SQSの使いどころを押さえてマエストロになりましょう!
参考資料
Amazon Simple Queue Service: Batch Operations, Delay Queue, and Message Timers